package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortListDemo2 {
    public static void main(String[] args) {
        List<Point> list = new ArrayList<>();
        list.add(new Point(1, 2));
        list.add(new Point(46, 78));
        list.add(new Point(98, 35));
        list.add(new Point(21, 3));
        list.add(new Point(0, 7));
        list.add(new Point(13, 12));
        list.add(new Point(14, 24));
        System.out.println(list);
        //Collections.sort(list);//报错
        System.out.println(list);
        //方法一
//使用匿名内部类的形式创建比较规则：
//        Comparator<Point> comparator = new Comparator<Point>() {
//
//
//            public int compare(Point o1,Point o2) {
//                int len1 = o1.getX() * o1.getX() + o1.getY() * o1.getY();
//                int len2 = o2.getX() * o2.getX() + o2.getY() * o2.getY();
//                return len1-len2;
//            }
//        };
//        Collections.sort(list,comparator);

        //方法二：
        Collections.sort(list,new Comparator<Point>() {


            public int compare(Point o1,Point o2) {
                int len1 = o1.getX() * o1.getX() + o1.getY() * o1.getY();
                int len2 = o2.getX() * o2.getX() + o2.getY() * o2.getY();
                return len1-len2;
            }
        });
        System.out.println(list);















    }
}
